iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 1
0
Modern Web

SignalR系列 第 11

SignalR 11 - JavaScript Client-進階篇(一)-稍微深入一點點的探討

  • 分享至 

  • xImage
  •  

今天突然要講這章,大家一定充滿疑惑

謎之音:上次不就講過了嗎!?

其實之前一開始的前幾章只是為了讓各位能夠起始個互動程式

這樣我們才能夠開始愈挖愈深!!

今天就讓我們回顧一下JavaScript Client吧!!

並且再稍微挖的深入一點點

首先我們來說一下關於Client與Hub Server的連線

$.connection.hub.start();
本身是一個非同步的方法!
不信!?看下圖!!
http://ithelp.ithome.com.tw/upload/images/20161226/20103426TSbMf8URfb.jpg

所以當我們改用非同步的方法後!!
YA取到了!!

http://ithelp.ithome.com.tw/upload/images/20161226/20103426jOS8TLtxBd.jpg

接著我們再來加上失敗的方法!!
http://ithelp.ithome.com.tw/upload/images/20161226/20103426llxIw2W5Ey.jpg

註解調當初PostAuthenticateRequest踹一下!!
http://ithelp.ithome.com.tw/upload/images/20161226/20103426yzTaI7xf4l.png

接著我們也可以從JavaScript Client傳送QueryString給Hub Server

是在建立連線之前,如下圖~
http://ithelp.ithome.com.tw/upload/images/20161226/201034265BO89dVhiK.jpg

測試一下,確實收到了!!
http://ithelp.ithome.com.tw/upload/images/20161226/20103426XsU701co0f.png

講到連線!!那當然一定要講一下如何設定SignalR JavaScript Client與Hub Server的連線模式

它們的連線模式一共有4種,分別是"webSockets","foreverFrame","serverSentEvents","longPolling"

設定連線模式就是在你連線時加入這四個內的參數(s)

$.connection.hub.start({ transport: ['webSockets', 'longPolling'] })

講到這邊我們順便來看看他預設的連線會用什麼!!
http://ithelp.ithome.com.tw/upload/images/20161226/20103426q3YdWnU6WR.png

再來測試一下我們設定他的連線模式後

http://ithelp.ithome.com.tw/upload/images/20161226/20103426tZ7P9gjCQC.png

嗯看來多個的狀態下會選第一個!!


上一篇
SignalR 10 - Hub-進階篇(五)-稍微深入一點點的探討
下一篇
SignalR 12 - JavaScript Client-進階篇(二)-稍微深入一點點的探討
系列文
SignalR30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言